home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / programming / c / gcc261ud-c.lha / gnu / os-include / inline / locale.h < prev    next >
C/C++ Source or Header  |  1994-09-22  |  12KB  |  378 lines

  1. #ifndef _INLINE_LOCALE_H
  2. #define _INLINE_LOCALE_H
  3.  
  4. #include <sys/cdefs.h>
  5. #include <inline/stubs.h>
  6.  
  7. __BEGIN_DECLS
  8.  
  9. #ifndef BASE_EXT_DECL
  10. #define BASE_EXT_DECL
  11. #define BASE_EXT_DECL0 extern struct LocaleBase * LocaleBase;
  12. #endif
  13. #ifndef BASE_PAR_DECL
  14. #define BASE_PAR_DECL
  15. #define BASE_PAR_DECL0 void
  16. #endif
  17. #ifndef BASE_NAME
  18. #define BASE_NAME LocaleBase
  19. #endif
  20.  
  21. BASE_EXT_DECL0
  22.  
  23. extern __inline void 
  24. CloseCatalog (BASE_PAR_DECL struct Catalog *catalog)
  25. {
  26.   BASE_EXT_DECL
  27.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  28.   register struct Catalog *a0 __asm("a0") = catalog;
  29.   __asm __volatile ("jsr a6@(-0x24)"
  30.   : /* no output */
  31.   : "r" (a6), "r" (a0)
  32.   : "a0","a1","d0","d1", "memory");
  33. }
  34. extern __inline void 
  35. CloseLocale (BASE_PAR_DECL struct Locale *locale)
  36. {
  37.   BASE_EXT_DECL
  38.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  39.   register struct Locale *a0 __asm("a0") = locale;
  40.   __asm __volatile ("jsr a6@(-0x2a)"
  41.   : /* no output */
  42.   : "r" (a6), "r" (a0)
  43.   : "a0","a1","d0","d1", "memory");
  44. }
  45. extern __inline ULONG 
  46. ConvToLower (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  47. {
  48.   BASE_EXT_DECL
  49.   register ULONG  _res  __asm("d0");
  50.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  51.   register struct Locale *a0 __asm("a0") = locale;
  52.   register unsigned long d0 __asm("d0") = character;
  53.   __asm __volatile ("jsr a6@(-0x30)"
  54.   : "=r" (_res)
  55.   : "r" (a6), "r" (a0), "r" (d0)
  56.   : "a0","a1","d0","d1", "memory");
  57.   return _res;
  58. }
  59. extern __inline ULONG 
  60. ConvToUpper (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  61. {
  62.   BASE_EXT_DECL
  63.   register ULONG  _res  __asm("d0");
  64.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  65.   register struct Locale *a0 __asm("a0") = locale;
  66.   register unsigned long d0 __asm("d0") = character;
  67.   __asm __volatile ("jsr a6@(-0x36)"
  68.   : "=r" (_res)
  69.   : "r" (a6), "r" (a0), "r" (d0)
  70.   : "a0","a1","d0","d1", "memory");
  71.   return _res;
  72. }
  73. extern __inline void 
  74. FormatDate (BASE_PAR_DECL struct Locale *locale,STRPTR fmtTemplate,struct DateStamp *date,struct Hook *putCharFunc)
  75. {
  76.   BASE_EXT_DECL
  77.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  78.   register struct Locale *a0 __asm("a0") = locale;
  79.   register STRPTR a1 __asm("a1") = fmtTemplate;
  80.   register struct DateStamp *a2 __asm("a2") = date;
  81.   register struct Hook *a3 __asm("a3") = putCharFunc;
  82.   __asm __volatile ("jsr a6@(-0x3c)"
  83.   : /* no output */
  84.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3)
  85.   : "a0","a1","a2","a3","d0","d1", "memory");
  86. }
  87. extern __inline APTR 
  88. FormatString (BASE_PAR_DECL struct Locale *locale,STRPTR fmtTemplate,APTR dataStream,struct Hook *putCharFunc)
  89. {
  90.   BASE_EXT_DECL
  91.   register APTR  _res  __asm("d0");
  92.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  93.   register struct Locale *a0 __asm("a0") = locale;
  94.   register STRPTR a1 __asm("a1") = fmtTemplate;
  95.   register APTR a2 __asm("a2") = dataStream;
  96.   register struct Hook *a3 __asm("a3") = putCharFunc;
  97.   __asm __volatile ("jsr a6@(-0x42)"
  98.   : "=r" (_res)
  99.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3)
  100.   : "a0","a1","a2","a3","d0","d1", "memory");
  101.   return _res;
  102. }
  103. extern __inline STRPTR 
  104. GetCatalogStr (BASE_PAR_DECL struct Catalog *catalog,long stringNum,STRPTR defaultString)
  105. {
  106.   BASE_EXT_DECL
  107.   register STRPTR  _res  __asm("d0");
  108.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  109.   register struct Catalog *a0 __asm("a0") = catalog;
  110.   register long d0 __asm("d0") = stringNum;
  111.   register STRPTR a1 __asm("a1") = defaultString;
  112.   __asm __volatile ("jsr a6@(-0x48)"
  113.   : "=r" (_res)
  114.   : "r" (a6), "r" (a0), "r" (d0), "r" (a1)
  115.   : "a0","a1","d0","d1", "memory");
  116.   return _res;
  117. }
  118. extern __inline STRPTR 
  119. GetLocaleStr (BASE_PAR_DECL struct Locale *locale,unsigned long stringNum)
  120. {
  121.   BASE_EXT_DECL
  122.   register STRPTR  _res  __asm("d0");
  123.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  124.   register struct Locale *a0 __asm("a0") = locale;
  125.   register unsigned long d0 __asm("d0") = stringNum;
  126.   __asm __volatile ("jsr a6@(-0x4e)"
  127.   : "=r" (_res)
  128.   : "r" (a6), "r" (a0), "r" (d0)
  129.   : "a0","a1","d0","d1", "memory");
  130.   return _res;
  131. }
  132. extern __inline BOOL 
  133. IsAlNum (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  134. {
  135.   BASE_EXT_DECL
  136.   register BOOL  _res  __asm("d0");
  137.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  138.   register struct Locale *a0 __asm("a0") = locale;
  139.   register unsigned long d0 __asm("d0") = character;
  140.   __asm __volatile ("jsr a6@(-0x54)"
  141.   : "=r" (_res)
  142.   : "r" (a6), "r" (a0), "r" (d0)
  143.   : "a0","a1","d0","d1", "memory");
  144.   return _res;
  145. }
  146. extern __inline BOOL 
  147. IsAlpha (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  148. {
  149.   BASE_EXT_DECL
  150.   register BOOL  _res  __asm("d0");
  151.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  152.   register struct Locale *a0 __asm("a0") = locale;
  153.   register unsigned long d0 __asm("d0") = character;
  154.   __asm __volatile ("jsr a6@(-0x5a)"
  155.   : "=r" (_res)
  156.   : "r" (a6), "r" (a0), "r" (d0)
  157.   : "a0","a1","d0","d1", "memory");
  158.   return _res;
  159. }
  160. extern __inline BOOL 
  161. IsCntrl (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  162. {
  163.   BASE_EXT_DECL
  164.   register BOOL  _res  __asm("d0");
  165.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  166.   register struct Locale *a0 __asm("a0") = locale;
  167.   register unsigned long d0 __asm("d0") = character;
  168.   __asm __volatile ("jsr a6@(-0x60)"
  169.   : "=r" (_res)
  170.   : "r" (a6), "r" (a0), "r" (d0)
  171.   : "a0","a1","d0","d1", "memory");
  172.   return _res;
  173. }
  174. extern __inline BOOL 
  175. IsDigit (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  176. {
  177.   BASE_EXT_DECL
  178.   register BOOL  _res  __asm("d0");
  179.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  180.   register struct Locale *a0 __asm("a0") = locale;
  181.   register unsigned long d0 __asm("d0") = character;
  182.   __asm __volatile ("jsr a6@(-0x66)"
  183.   : "=r" (_res)
  184.   : "r" (a6), "r" (a0), "r" (d0)
  185.   : "a0","a1","d0","d1", "memory");
  186.   return _res;
  187. }
  188. extern __inline BOOL 
  189. IsGraph (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  190. {
  191.   BASE_EXT_DECL
  192.   register BOOL  _res  __asm("d0");
  193.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  194.   register struct Locale *a0 __asm("a0") = locale;
  195.   register unsigned long d0 __asm("d0") = character;
  196.   __asm __volatile ("jsr a6@(-0x6c)"
  197.   : "=r" (_res)
  198.   : "r" (a6), "r" (a0), "r" (d0)
  199.   : "a0","a1","d0","d1", "memory");
  200.   return _res;
  201. }
  202. extern __inline BOOL 
  203. IsLower (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  204. {
  205.   BASE_EXT_DECL
  206.   register BOOL  _res  __asm("d0");
  207.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  208.   register struct Locale *a0 __asm("a0") = locale;
  209.   register unsigned long d0 __asm("d0") = character;
  210.   __asm __volatile ("jsr a6@(-0x72)"
  211.   : "=r" (_res)
  212.   : "r" (a6), "r" (a0), "r" (d0)
  213.   : "a0","a1","d0","d1", "memory");
  214.   return _res;
  215. }
  216. extern __inline BOOL 
  217. IsPrint (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  218. {
  219.   BASE_EXT_DECL
  220.   register BOOL  _res  __asm("d0");
  221.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  222.   register struct Locale *a0 __asm("a0") = locale;
  223.   register unsigned long d0 __asm("d0") = character;
  224.   __asm __volatile ("jsr a6@(-0x78)"
  225.   : "=r" (_res)
  226.   : "r" (a6), "r" (a0), "r" (d0)
  227.   : "a0","a1","d0","d1", "memory");
  228.   return _res;
  229. }
  230. extern __inline BOOL 
  231. IsPunct (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  232. {
  233.   BASE_EXT_DECL
  234.   register BOOL  _res  __asm("d0");
  235.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  236.   register struct Locale *a0 __asm("a0") = locale;
  237.   register unsigned long d0 __asm("d0") = character;
  238.   __asm __volatile ("jsr a6@(-0x7e)"
  239.   : "=r" (_res)
  240.   : "r" (a6), "r" (a0), "r" (d0)
  241.   : "a0","a1","d0","d1", "memory");
  242.   return _res;
  243. }
  244. extern __inline BOOL 
  245. IsSpace (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  246. {
  247.   BASE_EXT_DECL
  248.   register BOOL  _res  __asm("d0");
  249.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  250.   register struct Locale *a0 __asm("a0") = locale;
  251.   register unsigned long d0 __asm("d0") = character;
  252.   __asm __volatile ("jsr a6@(-0x84)"
  253.   : "=r" (_res)
  254.   : "r" (a6), "r" (a0), "r" (d0)
  255.   : "a0","a1","d0","d1", "memory");
  256.   return _res;
  257. }
  258. extern __inline BOOL 
  259. IsUpper (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  260. {
  261.   BASE_EXT_DECL
  262.   register BOOL  _res  __asm("d0");
  263.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  264.   register struct Locale *a0 __asm("a0") = locale;
  265.   register unsigned long d0 __asm("d0") = character;
  266.   __asm __volatile ("jsr a6@(-0x8a)"
  267.   : "=r" (_res)
  268.   : "r" (a6), "r" (a0), "r" (d0)
  269.   : "a0","a1","d0","d1", "memory");
  270.   return _res;
  271. }
  272. extern __inline BOOL 
  273. IsXDigit (BASE_PAR_DECL struct Locale *locale,unsigned long character)
  274. {
  275.   BASE_EXT_DECL
  276.   register BOOL  _res  __asm("d0");
  277.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  278.   register struct Locale *a0 __asm("a0") = locale;
  279.   register unsigned long d0 __asm("d0") = character;
  280.   __asm __volatile ("jsr a6@(-0x90)"
  281.   : "=r" (_res)
  282.   : "r" (a6), "r" (a0), "r" (d0)
  283.   : "a0","a1","d0","d1", "memory");
  284.   return _res;
  285. }
  286. extern __inline struct Catalog *
  287. OpenCatalogA (BASE_PAR_DECL struct Locale *locale,STRPTR name,struct TagItem *tags)
  288. {
  289.   BASE_EXT_DECL
  290.   register struct Catalog * _res  __asm("d0");
  291.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  292.   register struct Locale *a0 __asm("a0") = locale;
  293.   register STRPTR a1 __asm("a1") = name;
  294.   register struct TagItem *a2 __asm("a2") = tags;
  295.   __asm __volatile ("jsr a6@(-0x96)"
  296.   : "=r" (_res)
  297.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2)
  298.   : "a0","a1","a2","d0","d1", "memory");
  299.   return _res;
  300. }
  301. #ifndef NO_INLINE_STDARG
  302. #define OpenCatalog(a0, a1, tags...) \
  303.   ({ struct TagItem _tags[] = { tags }; OpenCatalogA ((a0), (a1), _tags); })
  304. #endif /* not NO_INLINE_STDARG */
  305. extern __inline struct Locale *
  306. OpenLocale (BASE_PAR_DECL STRPTR name)
  307. {
  308.   BASE_EXT_DECL
  309.   register struct Locale * _res  __asm("d0");
  310.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  311.   register STRPTR a0 __asm("a0") = name;
  312.   __asm __volatile ("jsr a6@(-0x9c)"
  313.   : "=r" (_res)
  314.   : "r" (a6), "r" (a0)
  315.   : "a0","a1","d0","d1", "memory");
  316.   return _res;
  317. }
  318. extern __inline BOOL 
  319. ParseDate (BASE_PAR_DECL struct Locale *locale,struct DateStamp *date,STRPTR fmtTemplate,struct Hook *getCharFunc)
  320. {
  321.   BASE_EXT_DECL
  322.   register BOOL  _res  __asm("d0");
  323.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  324.   register struct Locale *a0 __asm("a0") = locale;
  325.   register struct DateStamp *a1 __asm("a1") = date;
  326.   register STRPTR a2 __asm("a2") = fmtTemplate;
  327.   register struct Hook *a3 __asm("a3") = getCharFunc;
  328.   __asm __volatile ("jsr a6@(-0xa2)"
  329.   : "=r" (_res)
  330.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (a3)
  331.   : "a0","a1","a2","a3","d0","d1", "memory");
  332.   return _res;
  333. }
  334. extern __inline ULONG 
  335. StrConvert (BASE_PAR_DECL struct Locale *locale,STRPTR string,APTR buffer,unsigned long bufferSize,unsigned long type)
  336. {
  337.   BASE_EXT_DECL
  338.   register ULONG  _res  __asm("d0");
  339.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  340.   register struct Locale *a0 __asm("a0") = locale;
  341.   register STRPTR a1 __asm("a1") = string;
  342.   register APTR a2 __asm("a2") = buffer;
  343.   register unsigned long d0 __asm("d0") = bufferSize;
  344.   register unsigned long d1 __asm("d1") = type;
  345.   __asm __volatile ("jsr a6@(-0xae)"
  346.   : "=r" (_res)
  347.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (d0), "r" (d1)
  348.   : "a0","a1","a2","d0","d1", "memory");
  349.   return _res;
  350. }
  351. extern __inline LONG 
  352. StrnCmp (BASE_PAR_DECL struct Locale *locale,STRPTR string1,STRPTR string2,long length,unsigned long type)
  353. {
  354.   BASE_EXT_DECL
  355.   register LONG  _res  __asm("d0");
  356.   register struct LocaleBase *a6 __asm("a6") = BASE_NAME;
  357.   register struct Locale *a0 __asm("a0") = locale;
  358.   register STRPTR a1 __asm("a1") = string1;
  359.   register STRPTR a2 __asm("a2") = string2;
  360.   register long d0 __asm("d0") = length;
  361.   register unsigned long d1 __asm("d1") = type;
  362.   __asm __volatile ("jsr a6@(-0xb4)"
  363.   : "=r" (_res)
  364.   : "r" (a6), "r" (a0), "r" (a1), "r" (a2), "r" (d0), "r" (d1)
  365.   : "a0","a1","a2","d0","d1", "memory");
  366.   return _res;
  367. }
  368.  
  369. #undef BASE_EXT_DECL
  370. #undef BASE_EXT_DECL0
  371. #undef BASE_PAR_DECL
  372. #undef BASE_PAR_DECL0
  373. #undef BASE_NAME
  374.  
  375. __END_DECLS
  376.  
  377. #endif /* _INLINE_LOCALE_H */
  378.